// package io.github.helloworlde.shardingjdbc.config;
//
// import com.alibaba.druid.pool.DruidDataSource;
// import io.seata.rm.datasource.DataSourceProxy;
// import org.apache.ibatis.session.SqlSessionFactory;
// import org.mybatis.spring.SqlSessionFactoryBean;
// import org.springframework.boot.context.properties.ConfigurationProperties;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
//
// import javax.sql.DataSource;
//
// /**
//  * @author HelloWood
//  */
// @Configuration
// public class DataSourceProxyConfig {
//
//     @Bean
//     @ConfigurationProperties(prefix = "spring.datasource")
//     public DataSource dataSource() {
//         return new DruidDataSource();
//     }
//
//     @Bean
//     public DataSourceProxy dataSourceProxy(DataSource dataSource) {
//         return new DataSourceProxy(dataSource);
//     }
//
//     @Bean
//     public SqlSessionFactory sqlSessionFactoryBean(DataSourceProxy dataSourceProxy) throws Exception {
//         SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
//         sqlSessionFactoryBean.setDataSource(dataSourceProxy);
//         return sqlSessionFactoryBean.getObject();
//     }
// }